import { Provide } from '@midwayjs/decorator';
import {
  IMidwayWebNext,
  IWebMiddleware,
  MidwayWebMiddleware,
} from '@midwayjs/web';
import { Context } from 'egg';
import BaseServices from '../core/baseServices';

// const ignore = ['/admin/login'];
@Provide()
export class AdminAuthMiddleware
  extends BaseServices
  implements IWebMiddleware {
  resolve(): MidwayWebMiddleware {
    return async (ctx: Context, next: IMidwayWebNext) => {
      // const url = ctx.url;
      // const path = url.split('?')[0];
      // if (!ignore.includes(path)) {
      //   const token = ctx.get('Authorization');
      //   try {
      //     // 挂载对象到当前请求上
      //     this.jwtVerify(token);
      //   } catch (e) {
      //     // 无法通过token校验
      //     ctx.throw('jwt 校验失败');
      //   }
      // }
      // pass
      await next();
    };
  }
}
